A key component in conventional state-of-the-art video coding systems is the motion estimation (ME) process. Motion estimation compares a block of pixels of a frame of an input video signal (i.e., an input block) with a block of pixels in a reconstructed video frame (i.e., a reference block) that has already been encoded. The location of the reference block is represented by motion vectors (MVs). Conventional systems only code the difference between the input block and the reference block, referred to as a residual block. A number of residual blocks are coded via transform, quantization and entropy coding. Difference choices of the reference blocks (or equivalently MVs) can lead to significant different video coding performances, usually measured in the rate-distortion sense. Such differences can be determined by jointly examining the distortion introduced as a result of the non-invertible quantization process (distortion) as well as the number of bits (bit rate) needed to represent all of the information needed by the decoder to reconstruct the coded input block.
Both the distortion and bit rate information are dependent on the motion vectors selected, and are only available after the transform, quantization and entropy coding processes. Because of the computational complexity and memory and bandwidth requirements involved in performing the transform, quantization and entropy coding, the ME process in conventional systems usually evaluates the different MV choices among a usually large number (often hundreds or even thousands) of possibilities (i.e., candidates) with criteria based either purely on the original residual information (i.e., prior to quantization) or in some cases original residual and the motion vector information, as opposed to the distortion and rate information after performing quantization-dequantization and entropy coding, including bit rate for all information needed by the decoder, including header, motion, and transform information. The accurate bitrate information is obtained after optional motion estimation, motion compensation, and transform have been performed.
It would be desirable to incorporate distortion and overall rate information into the evaluation of MV candidates in a ME process through a low complexity procedure so that the overall rate and distortion performance associated with the selection of each MV candidate may be evaluated without performing the full transform, quantization and entropy coding process for each motion vector candidate.